bitkeeper revision 1.1713.2.4 (42b2eeaaw19NBOX3B2LRrIub6Vg5Lg)
authordjm@kirby.fc.hp.com <djm@kirby.fc.hp.com>
Fri, 17 Jun 2005 15:39:22 +0000 (15:39 +0000)
committerdjm@kirby.fc.hp.com <djm@kirby.fc.hp.com>
Fri, 17 Jun 2005 15:39:22 +0000 (15:39 +0000)
New defines for misc get/put_page macros

Signed-off-by Kevin Tian <Kevin.tian@intel.com>

xen/include/asm-ia64/mm.h

index c84a7c781ab8b1fc5e289dd058e7e9748fce5fcd..613be29907137bd44b72f3cd0d12bad9f3bbfd6b 100644 (file)
@@ -169,8 +169,29 @@ static inline int get_page(struct pfn_info *page,
 }
 
 /* No type info now */
-#define put_page_and_type(page) put_page((page))
-#define get_page_and_type(page, domain, type) get_page((page))
+#define put_page_type(page)
+#define get_page_type(page, type) 1
+static inline void put_page_and_type(struct pfn_info *page)
+{
+    put_page_type(page);
+    put_page(page);
+}
+
+
+static inline int get_page_and_type(struct pfn_info *page,
+                                    struct domain *domain,
+                                    u32 type)
+{
+    int rc = get_page(page, domain);
+
+    if ( likely(rc) && unlikely(!get_page_type(page, type)) )
+    {
+        put_page(page);
+        rc = 0;
+    }
+
+    return rc;
+}
 
 #define        set_machinetophys(_mfn, _pfn) do { } while(0);